package bean;

import org.junit.Test;

import java.util.*;

public class TestErase<T extends String> {

    T t;

    public void add(T t) {
        System.out.println("t：" + t);
    }

    //普通方法
    public void getData(T t) {

    }

    // 泛型方法
    public <E> E getUserInfo(E e) {
        return e;
    }

    public void testWildCards(Collection<?> collection) {
//        collection.add("");// 没有指定类型，不能调用
        collection.size();//调用参数无关的方法

        List<?> list = new ArrayList<String>();
//        list.add(new Object());// Object类也不是？的类型
//        list.add("");// 没有类型

    }

    public void testExtent() {
        Human<Woman> human = new Human();
//        HashMap<String,Integer> map = new HashMap();//Map是两个泛型参数的类，参考内部的操作
//        map.put()
    }

    @Test
    public void test() {
        List<String> list1 = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();
        System.out.println("list1 == list2:" + (list1.getClass() == list2.getClass()));
    }

    public void testList(List<?> list) {

    }

}
